package greg1992.lekcja5.tablice;

import java.util.Vector;

public class Szafa {

	public Vector<Ciuch> zawartosc;
	/*1 pyt kontrolne - klasa vector 
	zwiekszy pojemnosc tablicy i przekopiuje dane
	  2 pyt kontrolne - szafa jest pusta
	  3 pyt a) kontrolne - w szafie jest 0 ciuchow
	        b) kontrolne -nie ma takiego ciucha w szafie
	  4 pyt kontrolne - wartosc zmiennej miejsce to -1
	  5 pyt kontrolne - wartosci zmiennych to 0 1 1 0
	*/
	public Szafa(){
		zawartosc = new Vector<Ciuch>();
	}
	
	public Szafa(int pojemnosc){
		zawartosc = new Vector<Ciuch>(pojemnosc);
	}
	
	public static void main(String[] args){
		Szafa szafa = new Szafa();
		int ilosc1 = szafa.iloscCiuchow();
		Ciuch ciuch1 = new Ciuch("Skarpetki");
		szafa.dodajCiuch(ciuch1);
		int ilosc2 = szafa.iloscCiuchow();
		Ciuch ciuch2 = szafa.podajCiuch(0);
		szafa.dodajCiuch(ciuch2);
		int ilosc3 = szafa.iloscCiuchow();
		szafa.usunCiuch(ciuch1);
		int ilosc4 = szafa.iloscCiuchow();
		szafa.liczCiuchy("Skarpetki");
		System.out.println(ilosc1);
		System.out.println(ilosc2);
		System.out.println(ilosc3);
		System.out.println(ilosc4);
	}
	
	public boolean dodajCiuch(Ciuch c){
		if(!zawartosc.contains(c)){
			zawartosc.add(c);
			return false;
		}else{
			System.out.println("Ten ciuch jest juz w szafie!");
			return true;
		}
	}
	
	public Ciuch podajCiuch(int i){
		if(zawartosc.isEmpty()){
			System.out.println("Szafa jest pusta!");
			return null;
		}else if(i < 0 && i >= zawartosc.size()){
			System.out.println("Nieprawidlowy index!");
			return null;
		}else{
			return zawartosc.get(i);
		}
	}
	
	public boolean usunCiuch(Ciuch c){
		if(!zawartosc.contains(c)){
			System.out.println("Nie ma takiego ciucha w szafie!");
			return false;
		}else{
			return zawartosc.remove(c);
		}
	}
	
	public int gdzieWisi(Ciuch c){
		if(zawartosc.contains(c)){
			return zawartosc.indexOf(c);
		}else{
			System.out.println("Nie ma takiego ciucha w szafie!");
			return -1;
		}
	}
	
	public int iloscCiuchow(){
		return zawartosc.size();
	}
	
	public int liczCiuchy(String nazwa){
		int ilosc = 0;
		int i = 0;
		while(i < iloscCiuchow()){
			if(podajCiuch(i).getNazwa() == nazwa){
				ilosc++;
			}
			i++;
		}
		return ilosc;
	}
	
}
